# str int float bool
# float转int
num = 3.74
num_int = int(num)
# print(num_int)

# int转float
num_int = 3
num_float = float(num_int)
# print(type(num_float))

# int/float 和 str 进行转换
num_int = 123
num_float = 3.14
# str
str_int = str(num_int)
str_float = str(num_float)

str2 = "hello" + str(num_int)

# print(str_int)
# print(str_float)

# str 转成数值类型
str_int = "1234"
str_float = "3.14"
# int() float()
num_int = int(str_int)
num_float = float(str_float)
# print(type(num_int))
# print(type(num_float))

# bool str互相转换
# str 转 bool
str1 = "12323132132"

bool1 = bool(str1)

# print(bool1)

bool_true = True
bool_false = False

str_1 = str(bool_true)
str_2 = str(bool_false)

# print(str_1)
# print(type(str_1))
# print(str_2)
# print(type(str_2))

# int/float 和 bool 转换

num_zero = -1
num_float_zero = 0.0

bool1 = bool(num_zero)
bool2 = bool(num_float_zero)

bool_true = True
bool_false = False

int_ture = int(bool_true)
int_false = int(bool_false)
float_true = float(bool_true)
float_false = float(bool_false)

print(float_true)
print(float_false)

# TODO 类型转换: Python 提供了内建的函数，使得你可以在不同的数据类型之间进行转换。以下是一些常用的类型转换函数：

# int()：将一个字符串或数值转换为一个整数。
print(int("123"))  # 输出：123
print(int(12.34))  # 输出：12

# 注意，如果你试图将一个非数字的字符串转换为整数，Python 会抛出一个 ValueError。
# float()：将一个字符串或数值转换为一个浮点数。

print(float("12.34"))  # 输出：12.34
print(float(12))  # 输出：12.0
# 同样地，如果你试图将一个非数字的字符串转换为浮点数，Python 会抛出一个 ValueError。

# str()：将一个对象转换为一个字符串。

print(str(123))  # 输出："123"
print(str(12.34))  # 输出："12.34"
print(str(True))  # 输出："True"

# bool()：将一个对象转换为一个布尔值。在 Python 中，任何对象都可以被转换为布尔值。
# 大多数对象都被认为是真的（相当于 True），但以下对象被认为是假的（相当于 False）：数字 0（包括 0、0.0、0j 等）、空的容器（如空字符串、空列表、空字典等）、以及特殊的对象 None。

print(bool(123))  # 输出：True
print(bool(""))  # 输出：False
print(bool(None))  # 输出：False

# Python 是动态类型语言，变量的类型是在运行时确定的。因此，Python 不需要像 Java 那样进行强制类型转换。Python 的类型转换通常是显式的，通过调用内置的类型转换函数（如 int()、float() 等）来完成
# 。Python 没有像 Java 那样的隐式类型转换规则，尽管在某些操作中，Python 会自动进行类型提升（比如在整数和浮点数进行运算时，整数会被提升为浮点数）。

# 注意，虽然这些类型转换函数在很多情况下都很有用，但是它们并不能应对所有的情况。在有些情况下，你可能需要使用更复杂的方法来进行类型转换。例如，如果你想将一个列表的所有元素都转换为整数，你可能需要使用列表推导式或 map() 函数。
